package com.itlong.cloud.paymenthub;

import com.itlong.cloud.POJO.DTO.property.PropertyArrearPeopleSelectDTO;
import com.itlong.cloud.POJO.VO.property.PropertyArrearPeopleSelectVO;
import com.itlong.cloud.utils.page.Page;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * <desc>
 *      欠费住户查询接口暴露
 * </desc>
 *
 * @createDate 2019/05/21
 */
@FeignClient(name = "payment-hub-service")
public interface IPropertyArrearPeopleSelectServiceClient {

    /**
     * <desc>
     *      分页获取欠费住户信息
     * </desc>
     *
     * @param propertyArrearPeopleSelectDTO 欠费住户信息DTO
     * @return 欠费住户分页信息
     * @author wangzhi
     * @createDate 2019/05/21
     */
    @PostMapping("/property/arrearagePeopleSelect/getPage")
    Page<PropertyArrearPeopleSelectVO> getPage(@RequestBody PropertyArrearPeopleSelectDTO propertyArrearPeopleSelectDTO) throws Exception;

    /**
     * <desc>
     *      临时解除限制
     * </desc>
     *
     * @param propertyArrearPeopleSelectDTO 欠费住户信息DTO
     * @return 受影响行数
     * @author wangzhi
     * @createDate 2019/05/22
     */
    @PostMapping("/property/arrearagePeopleSelect/momentRelieve")
    Integer momentRelieve(@RequestBody PropertyArrearPeopleSelectDTO propertyArrearPeopleSelectDTO) throws Exception;

    /**
     * <desc>
     *      获取导出的欠费住户信息
     * </desc>
     *
     * @param propertyArrearPeopleSelectDTO 欠费住户信息DTO
     * @return 欠费住户列表信息
     * @author wangzhi
     * @createDate 2019/05/22
     */
    @PostMapping("/property/arrearagePeopleSelect/getExportData")
    List<PropertyArrearPeopleSelectVO> getExportData(@RequestBody PropertyArrearPeopleSelectDTO propertyArrearPeopleSelectDTO) throws Exception;
}
